From: Giovanni Campagna Date: Sun, 4 Nov 2012 01:11:08 +0000 (+0100) Subject: Add policy for builtin message sources X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~5001 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=9794e71a86c7cfbd39b5704acee6cbee8f3b63c0;p=gnome-shell.git Add policy for builtin message sources Some notifications, despite being emitted by shell code, should appear to be from application or "separable" system components. Do that by associating them with a notification-daemon policy. Note that for this to look really good, empathy should rename itself to Chat. https://bugzilla.gnome.org/show_bug.cgi?id=685926 --- diff --git a/js/ui/components/telepathyClient.js b/js/ui/components/telepathyClient.js index 440655c58..72df82d67 100644 --- a/js/ui/components/telepathyClient.js +++ b/js/ui/components/telepathyClient.js @@ -13,6 +13,7 @@ const Tp = imports.gi.TelepathyGLib; const History = imports.misc.history; const Main = imports.ui.main; const MessageTray = imports.ui.messageTray; +const NotificationDaemon = imports.ui.notificationDaemon; const Params = imports.misc.params; const PopupMenu = imports.ui.popupMenu; @@ -415,6 +416,8 @@ const TelepathyClient = new Lang.Class({ _ensureAppSource: function() { if (this._appSource == null) { this._appSource = new MessageTray.Source(_("Chat"), 'empathy'); + this._appSource.policy = new NotificationDaemon.NotificationApplicationPolicy('empathy'); + Main.messageTray.add(this._appSource); this._appSource.connect('destroy', Lang.bind(this, function () { this._appSource = null; @@ -484,6 +487,10 @@ const ChatSource = new Lang.Class({ return rightClickMenu; }, + _createPolicy: function() { + return new NotificationDaemon.NotificationApplicationPolicy('empathy'); + }, + _updateAlias: function() { let oldAlias = this.title; let newAlias = this._contact.get_alias(); @@ -1048,6 +1055,10 @@ const ApproverSource = new Lang.Class({ })); }, + _createPolicy: function() { + return new NotificationDaemon.NotificationApplicationPolicy('empathy'); + }, + destroy: function() { if (this._invalidId != 0) { this._dispatchOp.disconnect(this._invalidId); diff --git a/js/ui/status/bluetooth.js b/js/ui/status/bluetooth.js index da720f32e..463671084 100644 --- a/js/ui/status/bluetooth.js +++ b/js/ui/status/bluetooth.js @@ -9,6 +9,7 @@ const St = imports.gi.St; const Main = imports.ui.main; const MessageTray = imports.ui.messageTray; +const NotificationDaemon = imports.ui.notificationDaemon; const PanelMenu = imports.ui.panelMenu; const PopupMenu = imports.ui.popupMenu; @@ -286,6 +287,7 @@ const Indicator = new Lang.Class({ _ensureSource: function() { if (!this._source) { this._source = new MessageTray.Source(_("Bluetooth"), 'bluetooth-active'); + this._source.policy = new NotificationDaemon.NotificationApplicationPolicy('gnome-bluetooth-panel'); Main.messageTray.add(this._source); } }, diff --git a/js/ui/status/network.js b/js/ui/status/network.js index 8c7c4dc75..93225fdce 100644 --- a/js/ui/status/network.js +++ b/js/ui/status/network.js @@ -20,6 +20,7 @@ const Main = imports.ui.main; const PanelMenu = imports.ui.panelMenu; const PopupMenu = imports.ui.popupMenu; const MessageTray = imports.ui.messageTray; +const NotificationDaemon = imports.ui.notificationDaemon; const ModemManager = imports.misc.modemManager; const Util = imports.misc.util; @@ -1783,6 +1784,7 @@ const NMApplet = new Lang.Class({ if (!this._source) { this._source = new MessageTray.Source(_("Network Manager"), 'network-transmit-receive'); + this._source.policy = new NotificationDaemon.NotificationApplicationPolicy('gnome-network-panel'); this._source.connect('destroy', Lang.bind(this, function() { this._source = null;